//package com.coffeeloversupportlibrary.coffeelover.domain.dailyshare.share.test;
//import androidx.annotation.NonNull;
//import androidx.annotation.Nullable;
//import androidx.appcompat.app.AppCompatActivity;
//import android.content.Context;
//import android.content.Intent;
//import android.graphics.Bitmap;
//import android.graphics.BitmapFactory;
//import android.os.Bundle;
//import android.util.Log;
//import android.view.View;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.RelativeLayout;
//import android.widget.ScrollView;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import com.bumptech.glide.Glide;
//import com.coffeeloversupportlibrary.R;
//import com.coffeeloversupportlibrary.coffeelover.domain.dailyshare.share.GlideEngine;
//import com.huantansheng.easyphotos.EasyPhotos;
//import com.huantansheng.easyphotos.models.album.entity.Photo;
//import com.lzy.ninegrid.ImageInfo;
//import com.lzy.ninegrid.NineGridView;
//import com.lzy.ninegrid.preview.NineGridViewClickAdapter;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
//* @date 2021/11/25 15:47
//* @params
//* @return
//* @description TODO
// * 2021-11-25 15:47:02.271 15164-15164/com.coffeeloversupportlibrary E/TAG: 0
// * 2021-11-25 15:47:13.157 15164-15164/com.coffeeloversupportlibrary E/TAG: 800
// * 说明初始时  NG 被设置了指定的高度 但被忽视   后根据内容有了高度
// *
// * todo 2021-11-26 10:42:14.306 4885-4885/com.coffeeloversupportlibrary E/PY:初始化时布局参数: 320--370
//*/
//public class ShareActivity extends AppCompatActivity {
//    //解决动态布局问题,仅为此设备上的测试结果 如果要考虑设备间的兼容问题，处理px dp的转换320 370
//    private static final int BASE_TITLE_MARGIN=450;
//    private static final int BASE_CONTENT_MARGIN=500;
//    private NineGridView nineGridView;
//    private ImageView share;
//    private EditText title;
//    private EditText content;
//    private Context context;
//    private ScrollView scrollView;
//    private TextView addPicture;
//    private RelativeLayout position;
//    private   int flag=0;
//    private int count=1;
//    private NineGridViewClickAdapter nineGridViewClickAdapter;
//    private TextView test;
//    RelativeLayout.LayoutParams titleParam;
//    RelativeLayout.LayoutParams contentParam;
//    private TextView add;
//    private ImageView bitmapView;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.share_activity);
//        NineGridView.setImageLoader(new ShareActivity.GlideImageLoader());
//        init();
//
//
//    }
//    public Context getContext() {
//        return context;
//    }
//    private void init(){
//        bitmapView=findViewById(R.id.bit_map);
//        add=findViewById(R.id.add);
//        test=findViewById(R.id.kk);
//        nineGridViewClickAdapter=new NineGridViewClickAdapter(getContext(),initDat());
//        position=findViewById(R.id.position);
//        addPicture=findViewById(R.id.add_more_picture);
//        scrollView=findViewById(R.id.share_scroll);
//        nineGridView=findViewById(R.id.grid_view_add);
//        nineGridView.setSingleImageSize(300);
//        share=findViewById(R.id.iv_imgshare);
//        nineGridView.setGridSpacing(45);
//        nineGridView.setAdapter(nineGridViewClickAdapter);
//        title=findViewById(R.id.add_share_title);
//        title.clearFocus();
//        content=findViewById(R.id.share_content);
//        // TODO: 2021/11/25  疑难点一： 焦点改变监听 点击监听相互配合 解决 软键盘托起布局问题
//        Log.e("P","init-edit"+title.getTop());
//
//
//
//
//        content.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                // TODO: 2021/11/25   疑难杂症---点击文本框滚动不统一的问题 参照固定不同的控件进行滚动
//                scrollView.scrollTo(0,title.getTop()-position.getHeight()-40);
//                Log.e("P","edit-position"+title.getTop()+"-"+position.getHeight());
//            }
//        });
//        content.setOnFocusChangeListener(new View.OnFocusChangeListener() {
//            @Override
//            public void onFocusChange(View v, boolean hasFocus) {
//                scrollView.scrollTo(0,title.getTop()-position.getHeight()-40);
//                Log.e("P","edit-position"+title.getTop()+"-"+position.getHeight());
////                    scrollView.fullScroll(ScrollView.FOCUS_DOWN);
//
//            }
//        });
//        title.setOnFocusChangeListener(new View.OnFocusChangeListener() {
//            @Override
//            public void onFocusChange(View v, boolean hasFocus) {
//                if(flag!=0){
//                    scrollView.scrollTo(0,title.getTop()-position.getHeight()-40);
//                    flag++;
//                }
//            }
//        });
//        title.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                scrollView.scrollTo(0,title.getTop()-position.getHeight()-40);
//            }
//        });
//
//
//
//
//
//
//        titleParam=(RelativeLayout.LayoutParams) title.getLayoutParams();
//        contentParam=(RelativeLayout.LayoutParams) content.getLayoutParams();
//        Log.e("PY:初始化时布局参数",String.valueOf(titleParam.topMargin)+"--"+String.valueOf(contentParam.topMargin));
//
//
//
//        add.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
////                if (selectedPhotoList.isEmpty()) {
////                    Toast.makeText(this, "没选图片", Toast.LENGTH_SHORT).show();
////                    return true;
////                }
//                Bitmap bitmap;
//                //这一步如果图大的话会耗时，但耗时不长，你可以在异步操作。另外copy出来的bitmap在确定不用的时候记得回收，如果你用Glide操作过copy出来的bitmap那就不要回收了，否则Glide会报错。
//                Bitmap watermark = BitmapFactory.decodeResource(getResources(), R.drawable.member).copy(Bitmap.Config.RGB_565, true);
//                bitmap = BitmapFactory.decodeFile("/storage/emulated/0/AlbumBuilder7295040578613768105.png").copy(Bitmap.Config.ARGB_8888, true);
//
//                //给图片添加水印的api
//                EasyPhotos.addWatermark(watermark, bitmap, 1080, 20, 20, true);
//
//                bitmapView.setImageBitmap(bitmap);
//                Toast.makeText(ShareActivity.this, "水印在左下角", Toast.LENGTH_SHORT).show();
//            }
//        });
//
//
//        test.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                switch (count){
//                    case 1:NineGridViewClickAdapter adapter=new NineGridViewClickAdapter(context,initDatas());
//                    nineGridView.setAdapter(adapter);
//                    function(adapter.getImageInfo().size());
//                    Log.e("PY:当选择了一张图片",String.valueOf(titleParam.topMargin));
//                        break;
//                    case 2:nineGridView.setAdapter(new NineGridViewClickAdapter(context,initData()));
//                        Log.e("PY:当选择了五张图片",String.valueOf(titleParam.topMargin));
//                        break;
//                    case 3:nineGridView.setAdapter(new NineGridViewClickAdapter(context,initDataes()));
//                        Log.e("PY:当选择了九张以上图片",String.valueOf(titleParam.topMargin));
//                        break;
//                    case 4:NineGridViewClickAdapter adapters=new NineGridViewClickAdapter(context,initDat());
//                        nineGridView.setAdapter(adapters);
//                        function(adapters.getImageInfo().size());
//                        Log.e("PY:当选择了0张图片,nine 开始收缩",String.valueOf(titleParam.topMargin));
//                        break;
//
//                }
//                count++;
//                if(count==5){
//                    count=1;
//                }
//            }
//        });
//
//
//
//        share.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                EasyPhotos.createAlbum(ShareActivity.this,true, GlideEngine.getInstance())
//                        .setFileProviderAuthority("com.coffeeloversupportlibrary.coffeelover.domain.dailyshare.fileprovider")
//                        .setCount(15)
//                        .start(101);
//            }
//        });
//
//    }
//    // TODO: 2021/11/26   动态改变布局参数 从而影响界面布局函数的封装
//    private void function(@NonNull int size){
//           //clear 校准450 500  320 370
//           titleParam.topMargin=BASE_TITLE_MARGIN;
//           contentParam.topMargin=BASE_CONTENT_MARGIN;
//           if(size<=0){
//               titleParam.topMargin+=80;
//               contentParam.topMargin+=100;
//           }else{
//               // nine 扩展后的 布局微调
//               titleParam.topMargin-=120;
//               contentParam.topMargin-=100;
//           }
//        title.setLayoutParams(titleParam);
//        content.setLayoutParams(contentParam);
//
//    }
//
//
//
//
//
//
//    // TODO: 2021/11/26
//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        if (RESULT_OK == resultCode) {
//            //相机或相册回调
//            if (requestCode == 101) {
//                //返回对象集合：如果你需要了解图片的宽、高、大小、用户是否选中原图选项等信息，可以用这个
//                ArrayList<Photo> resultPhotos = data.getParcelableArrayListExtra(EasyPhotos.RESULT_PHOTOS);
//
//                //返回图片地址集合：如果你只需要获取图片的地址，可以用这个
//                ArrayList<String> resultPaths = data.getStringArrayListExtra(EasyPhotos.RESULT_PATHS);
//                //返回图片地址集合时如果你需要知道用户选择图片时是否选择了原图选项，用如下方法获取
//                boolean selectedOriginal = data.getBooleanExtra(EasyPhotos.RESULT_SELECTED_ORIGINAL, false);
//                nineGridView.setAdapter(new NineGridViewClickAdapter(ShareActivity.this,transfer(resultPaths)));
//
////                selectedPhotoList.clear();
////                selectedPhotoList.addAll(resultPhotos);
////                adapter.notifyDataSetChanged();
////                rvImage.smoothScrollToPosition(0);
//
//                return;
//            }
//
//
//            //为拼图选择照片的回调
////            if (requestCode == 102) {
////
////                ArrayList<Photo> resultPhotos =
////                        data.getParcelableArrayListExtra(EasyPhotos.RESULT_PHOTOS);
////                if (resultPhotos.size() == 1) {
////                    resultPhotos.add(resultPhotos.get(0));
////                }
////                selectedPhotoList.clear();
////                selectedPhotoList.addAll(resultPhotos);
////
////                EasyPhotos.startPuzzleWithPhotos(this, selectedPhotoList, Environment.getExternalStorageDirectory().getAbsolutePath(), "AlbumBuilder", 103, false, GlideEngine.getInstance());
////                return;
////            }
//
//            //拼图回调
////            if (requestCode == 103) {
////                String puzzlePath = data.getStringExtra(EasyPhotos.RESULT_PATHS);
////
////                Photo puzzlePhoto = data.getParcelableExtra(EasyPhotos.RESULT_PHOTOS);
////                selectedPhotoList.clear();
////                selectedPhotoList.add(puzzlePhoto);
////                adapter.notifyDataSetChanged();
////                rvImage.smoothScrollToPosition(0);
////            }
//
//
//        } else if (RESULT_CANCELED == resultCode) {
//            Toast.makeText(this, "cancel", Toast.LENGTH_SHORT).show();
//        }
//    }
//
//
//    private List<ImageInfo> initData(){
//        List<ImageInfo> imageInfo=new ArrayList<>();
//        for(int i=0;i<5;i++){
//            ImageInfo info=new ImageInfo();
//            info.setThumbnailUrl("/storage/emulated/0/AlbumBuilder7295040578613768105.png");
//            info.setBigImageUrl("/storage/emulated/0/AlbumBuilder7295040578613768105.png");
//            imageInfo.add(info);
//        }
//        return imageInfo;
//    }
//    private List<ImageInfo> initDataes(){
//        List<ImageInfo> imageInfo=new ArrayList<>();
//        for(int i=0;i<12;i++){
//            ImageInfo info=new ImageInfo();
//            info.setThumbnailUrl("/storage/emulated/0/AlbumBuilder7295040578613768105.png");
//            info.setBigImageUrl("/storage/emulated/0/AlbumBuilder7295040578613768105.png");
//            imageInfo.add(info);
//        }
//        return imageInfo;
//    }
//    private List<ImageInfo> initDatas(){
//        List<ImageInfo> imageInfo=new ArrayList<>();
//        for(int i=0;i<1;i++){
//            ImageInfo info=new ImageInfo();
//            info.setThumbnailUrl("/storage/emulated/0/DCIM/Camera/IMG_20211124_12:59:38.jpg");
//            info.setBigImageUrl("/storage/emulated/0/DCIM/Camera/IMG_20211124_12:59:38.jpg");
//            imageInfo.add(info);
//        }
//        return imageInfo;
//    }
//    private List<ImageInfo> initDat(){
//        List<ImageInfo> imageInfo=new ArrayList<>();
//        for(int i=0;i<0;i++){
//            ImageInfo info=new ImageInfo();
//            info.setThumbnailUrl("/storage/emulated/0/AlbumBuilder7295040578613768105.png");
//            info.setBigImageUrl("/storage/emulated/0/AlbumBuilder7295040578613768105.png");
//            imageInfo.add(info);
//        }
//        return imageInfo;
//    }
//
//
//    private List<ImageInfo> transfer(ArrayList<String> resultPaths){
//        List<ImageInfo> imageInfo=new ArrayList<>();
//        for(int i=0;i<resultPaths.size();i++){
//            ImageInfo info=new ImageInfo();
//            info.setThumbnailUrl(resultPaths.get(i));
//            info.setBigImageUrl(resultPaths.get(i));
//            imageInfo.add(info);
//        }
//        return imageInfo;
//    }
//    private class GlideImageLoader implements NineGridView.ImageLoader{
//
//        @Override
//        public void onDisplayImage(Context context, ImageView imageView, String url) {
//            Glide.with(context).load(url).into(imageView);
//        }
//        @Override
//        public Bitmap getCacheImage(String url) {
//            return null;
//        }
//    }
//
//    /**
//    * @date 2021/11/26 10:44
//    * @params
//    * @return
//    * @description
//     * todo:基础信息   以 px 为单位
//     * 2021-11-26 10:42:14.306 4885-4885/com.coffeeloversupportlibrary E/PY:初始化时布局参数: 320--370
//     * 2021-11-26 10:42:56.413 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了一张图片: 320
//     * 2021-11-26 10:43:14.073 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了五张图片: 320
//     * 2021-11-26 10:43:16.346 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了九张以上图片: 320
//     * 2021-11-26 10:43:31.128 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了0张图片,nine 开始收缩: 320
//     * 2021-11-26 10:43:31.129 4885-4885/com.coffeeloversupportlibrary E/PY:布局参数开始变化: 370--- 420
//     * 2021-11-26 10:43:42.863 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了一张图片: 370
//     * 2021-11-26 10:43:46.734 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了五张图片: 370
//     * 2021-11-26 10:43:49.102 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了九张以上图片: 370
//     * 2021-11-26 10:43:54.358 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了0张图片,nine 开始收缩: 370
//     * 2021-11-26 10:43:54.358 4885-4885/com.coffeeloversupportlibrary E/PY:布局参数开始变化: 420--- 470
//     * 2021-11-26 10:44:07.407 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了一张图片: 420
//     * 2021-11-26 10:44:08.383 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了五张图片: 420
//     * 2021-11-26 10:44:09.093 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了九张以上图片: 420
//     * 2021-11-26 10:44:16.814 4885-4885/com.coffeeloversupportlibrary E/PY:当选择了0张图片,nine 开始收缩: 420
//     * 2021-11-26 10:44:16.815 4885-4885/com.coffeeloversupportlibrary E/PY:布局参数开始变化: 470--- 520
//     *
//     * 分析如下：
//     * 初始时 根据布局文件   EditText参照 nine 布局 margintop 为参数 布局文件设置相应dp 转换为px  320  370
//     * 此时 nine 在xml 布局中默认 高度和内容匹配（默认有一张图片的高度）
//     * 当设置适配器---图片数量为零--nine 高度坍塌---EditText和上方控件重叠--因为 Edit是参照 nine 布局的
//     * 而非常巧合的是 addpicture 也参照于 nine 当nine 收缩的时候 add 收到牵连恰好达到了隐藏的效果
//     *
//     *
//     * 解决方案一：当观察到图片数量为零---动态改变topmargin 值 补足坍塌的部分
//     * 由此 当进入其他情况下应该撤销 ----封装函数 function --不同设备兼容性的解决   px dp 转换工具类
//     *
//     * 解决方案二：固定nine 的高度---引发 不符合 布局随图片数量伸缩的需求--否定
//    */
//}